#include "imageconsumer.h"

ImageConsumer::ImageConsumer() : cvimageinter(NULL){}

ImageConsumer::~ImageConsumer()
{
    if (cvimageinter){
        cvReleaseImage(&cvimageinter);
        cvimageinter = NULL;
    }
}

bool ImageConsumer::setImage(IplImage const * const image)
// Fonction de copie de l'image captee de la camera par CamManager
{
    // On utilise un mutex pour proteger l'image qui sera utilisee par plusieurs processus
    if(locker.tryLock()){
        if(cvimageinter) cvReleaseImage(&cvimageinter);
        cvimageinter = cvCloneImage(image);
        locker.unlock();
        return true;
    }
    else{
        return false;
    }
}
